home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / doom / suckmods.zip / SUCKMODS.ZIP / suck05 / src / server.qc < prev    next >
Text File  |  1997-05-09  |  2KB  |  98 lines

  1.  
  2. void() monster_ogre = {remove(self);};
  3. void() monster_demon1 = {remove(self);};
  4. void() monster_shambler = {remove(self);};
  5. void() monster_knight = {remove(self);};
  6. void() monster_army = {remove(self);};
  7. void() monster_wizard = {remove(self);};
  8. void() monster_dog = {remove(self);};
  9. void() monster_zombie = {remove(self);};
  10. void() item_monster_zombie = {remove(self);};
  11. void() monster_boss = {remove(self);};
  12. void() monster_tarbaby = {remove(self);};
  13. void() monster_hell_knight = {remove(self);};
  14. void() monster_fish = {remove(self);};
  15. void() monster_shalrath = {remove(self);};
  16. void() monster_enforcer = {remove(self);};
  17. void() monster_oldone = {remove(self);};
  18.  
  19. /*
  20. ==============================================================================
  21.  
  22. MOVETARGET CODE
  23.  
  24. The angle of the movetarget effects standing and bowing direction, but has no effect on movement, which allways heads to the next target.
  25.  
  26. targetname
  27. must be present.  The name of this movetarget.
  28.  
  29. target
  30. the next spot to move to.  If not present, stop here for good.
  31.  
  32. pausetime
  33. The number of seconds to spend standing or bowing for path_stand or path_bow
  34.  
  35. ==============================================================================
  36. */
  37.  
  38. /*
  39. =============
  40. t_movetarget
  41.  
  42. Something has bumped into a movetarget.  If it is a monster
  43. moving towards it, change the next destination and continue.
  44. ==============
  45. */
  46. void() t_movetarget =
  47. {
  48. local entity    temp;
  49.  
  50.     if (other.movetarget != self)
  51.         return;
  52.     
  53.     if (other.enemy)
  54.         return;        // fighting, not following a path
  55.  
  56.     temp = self;
  57.     self = other;
  58.     other = temp;
  59.  
  60.     if (self.classname == "monster_ogre")
  61.         sound (self, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound
  62.  
  63. //dprint ("t_movetarget\n");
  64.     self.goalentity = self.movetarget = find (world, targetname, other.target);
  65.     self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
  66.     if (!self.movetarget)
  67.     {
  68.         self.pausetime = time + 999999;
  69.         self.th_stand ();
  70.         return;
  71.     }
  72. };
  73.  
  74.  
  75.  
  76. void() movetarget_f =
  77. {
  78.     if (!self.targetname)
  79.         objerror ("monster_movetarget: no targetname");
  80.         
  81.     self.solid = SOLID_TRIGGER;
  82.     self.touch = t_movetarget;
  83.     setsize (self, '-8 -8 -8', '8 8 8');
  84.     
  85. };
  86.  
  87. /*QUAKED path_corner (0.5 0.3 0) (-8 -8 -8) (8 8 8)
  88. Monsters will continue walking towards the next target corner.
  89. */
  90. void() path_corner =
  91. {
  92.     movetarget_f ();
  93. };
  94.  
  95.  
  96.  
  97. //============================================================================
  98.